import { ColDef, ICellRendererParams } from '@ag-grid-community/core'

/** 列表项 */
export type IBatchAddOrigRouteItem = IBatchAddOrigRouteReqItem &
  Partial<IBatchAddOrigRouteResItem> & {
    /** 虚拟字段，用于列配置 */
    ['序号']?: null
  }

/** columnDefs 配置项 */
export type TCol<T extends keyof IBatchAddOrigRouteItem = keyof IBatchAddOrigRouteItem> = ColDef<
  IBatchAddOrigRouteItem,
  IBatchAddOrigRouteItem[T]
> & { field: T }

/** cellRenderer 等相关参数 */
export type TCellParams<T extends keyof IBatchAddOrigRouteItem = keyof IBatchAddOrigRouteItem> = ICellRendererParams<
  IBatchAddOrigRouteItem,
  IBatchAddOrigRouteItem[T]
>

/** 批量新增原始路由请求入参项 */
export interface IBatchAddOrigRouteReqItem {
  /** 运单号 */
  waybillNo: string
  /** 原始路由 */
  originalRoute: string
  /** 发生时间 */
  occurDate: string
}

/** 批量新增原始路由请求响应项 */
export interface IBatchAddOrigRouteResItem {
  /** 导入结果，1.导入成功 2.识别错误 3.该路由已存在 */
  resultType: number
  /** 导入结果描述 */
  resultDesc: string
  /** 运单号 */
  waybillNo: string | null
  /** 服务商 */
  merchantServers: string | null
  /** 渠道单号 */
  channelNo: string | null
}

/** 批量新增原始路由请求响应 */
export interface IBatchAddOrigRouteRes {
  /** 导入结果 */
  routeResList: IBatchAddOrigRouteResItem[]
  /** 总数 */
  totalNum: number
  /** 成功数 */
  successNum: number
  /** 失败数 */
  failNum: number
}
